# -*- encoding=utf8 -*-
__author__ = "v_jwjwchen"
#######################################################################
"""脚本功能：自动搜索好友并自动关注v1.0"""
"""请在下方输入你要搜索的好友的名字，任意名字"""
search_name = "化妆品"
"""请在下方输入脚本运行超时时间，默认1800秒，即30分钟"""
timeout = 1800 #设置超时时间,单位秒
#######################################################################

import time
from airtest.core.api import *
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
auto_setup(__file__)
x,y = poco.get_screen_size() #获取屏幕分辨率


shell("am force-stop com.ss.android.ugc.aweme")#关闭抖音后台
sleep(3)
start_app("com.ss.android.ugc.aweme")  #启动抖音
sleep(10)  #启动后等待广告播放完毕等
for _ in range(3):
    #看看是否存在儿童青少年模式,如果有就点击,我知道了
    if poco(text="我知道了",touchable=True).exists():
        poco(text="我知道了",touchable=True).click()
    #看看是否存在个人信息保护,存在的话点击好的
    if poco(text="好的",touchable=True).exists():
        poco(text="好的",touchable=True).click()
    #看看是否有好友推荐,有的话则点击关闭
    if poco(text="好友推荐",touchable=False).exists():
        poco(name="com.ss.android.ugc.aweme:id/xd",touchable=True).click()
sleep(3)
poco(text="我",touchable=False,enabled=True).click()  #点击我
sleep(3)
poco(text="好友",enabled=True,touchable=False).click()  #点击添加好友
sleep(3)
poco(text="搜索用户名字/抖音号",touchable=True).click()  #点击搜索好友
text(search_name,search=True)  #这里是搜索用户名称来添加
sleep(10)
start_time = time.time()  #获取当前时间戳
while time.time() - start_time < timeout:  #当执行超时时,则停止
    guanzhu_list = poco(text="关注",enabled=True,visible=True,checkable=False,touchable=True,focusable=False)
    print (len(guanzhu_list))
    if len(guanzhu_list) == 0:
        swipe((0.5*x,0.8*y),(0.5*x,0.2*y),duration=0.5) 
        sleep(2)
        swipe((0.5*x,0.8*y),(0.5*x,0.2*y),duration=0.5)
    else:
        for guanzhu in guanzhu_list:
            guanzhu.click(focus="center")
            sleep(3)
        swipe((0.5*x,0.8*y),(0.5*x,0.2*y),duration=0.5) 
        sleep(2)
        swipe((0.5*x,0.8*y),(0.5*x,0.2*y),duration=0.5)
        if poco(name="android.widget.TextView",text="暂时没有更多了",touchable=False).exists():
            break
    sleep(3)

